Hello,大家好~歡迎又回到JavaScript初學者成長日記!
今天我們要說到作用域(Scope)。什麼是Scope呢?用白話文說就是,要去哪裡找東西。舉個生活中的例子,今天若我家是在公寓的二樓,那我朋友們絕不會到五樓找我,這時二樓就是我的Scope。Scope分為Block Scope 跟 Function Scope。猜猜以下兩段程式碼會印出什麼結果?
答案是,在這例子中,用var宣告時,會印出1,而用let宣告時會出現錯誤,錯誤訊息是a is not define。
由此可知,let的作用域是Block Scope,當變數包在Block中時,只有在Block可以找到它,在外面是找不到的,它是不存在在外面的。
在讓我們猜猜接下來這段程式碼會產生什麼結果?
答案是!!!會產生錯誤,錯誤訊息是:a is not defined。
由此可知,var的作用域是Function Scope,所以若變數是用var在函數中宣告,就只會在該函數中找到變數,出了函數就找不到囉!
那今天就先大致上介紹到這!在這一系列的常數與變數,就到一個段落,那就明天見囉~掰掰!